package com.itkjb.leisurely.resource.sys.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.itkjb.leisurely.resource.sys.model.SysUserUptLogModel;
import com.itkjb.leisurely.resource.sys.mapper.SysUserUptLogMapper;
import com.itkjb.leisurely.resource.sys.service.ISysUserUptLogService;
import com.itkjb.leisurely.core.base.service.impl.BaseServiceImpl;

import org.springframework.stereotype.Service;
import org.apache.commons.lang3.StringUtils;
/**
 * <p>
 * 用户更新记录 服务实现类
 * </p>
 *
 * @author itkjb.com
 * @since 2020-07-21
 */
@Service
public class SysUserUptLogServiceImpl extends BaseServiceImpl<SysUserUptLogMapper, SysUserUptLogModel> implements ISysUserUptLogService {

    /**
     * wrapper 组装器，构造条件查询
     * @author itkjb.com
     * @date  2020-07-21
     * @param wrapper
     * @param model 条件
     **/
    @Override
    protected void assembleWrapper(QueryWrapper<SysUserUptLogModel> wrapper, SysUserUptLogModel model) {
        // （代码生成器生成）自动生成了，list查询的时候，条件组装，开发者自行删除不需要的条件
        // 用户id
        wrapper.lambda().eq(StringUtils.isNotBlank(model.getUserId()), SysUserUptLogModel::getUserId, model.getUserId() );
        // 用户名
        wrapper.lambda().eq(StringUtils.isNotBlank(model.getUsername()), SysUserUptLogModel::getUsername, model.getUsername() );
        // 操作类型 1:修改信息，2: 修改状态
        wrapper.lambda().eq(model.getOptType() != null, SysUserUptLogModel::getOptType, model.getOptType() );
        // 操作信息
        wrapper.lambda().eq(StringUtils.isNotBlank(model.getOptMsg()), SysUserUptLogModel::getOptMsg, model.getOptMsg() );
        // 修改前状态 1 创建，注册；2：待完善信息 ；4：待补充调整信息  8：正常 16：账户冻结
        wrapper.lambda().eq(model.getBefStatus() != null, SysUserUptLogModel::getBefStatus, model.getBefStatus() );
        // 修改后状态 1 创建，注册；2：待完善信息 ；4：待补充调整信息  8：正常 16：账户冻结
        wrapper.lambda().eq(model.getAftStatus() != null, SysUserUptLogModel::getAftStatus, model.getAftStatus() );
    }

    /**
     * wrapper 组装器，组装list查询时，查询的列
     * @author itkjb.com
     * @date  2020-07-21
     * @param wrapper
     * @param model
     * @return void
     * @since 2020-07-21
     **/
    @Override
    protected void buildListSelectColumns(QueryWrapper<SysUserUptLogModel> wrapper, SysUserUptLogModel model){
        buildCommonSelectColumns(wrapper, model);
    }

    /**
     * 组装列表查询的列（字段）
     * @date  2020-07-21
     * @param wrapper
     * @param model
     */
    protected void buildCommonSelectColumns(QueryWrapper<SysUserUptLogModel> wrapper, SysUserUptLogModel model){
        // 代码生成器生成，为了简化开发时，查询list时，查询指定字段，没必要查询所有参数
        wrapper.lambda().select(
            // id
            SysUserUptLogModel::getId,
            // 用户id
            SysUserUptLogModel::getUserId,
            // 用户名
            SysUserUptLogModel::getUsername,
            // 操作类型 1:修改信息，2: 修改状态
            SysUserUptLogModel::getOptType,
            // 操作信息
            SysUserUptLogModel::getOptMsg,
            // 修改前状态 1 创建，注册；2：待完善信息 ；4：待补充调整信息  8：正常 16：账户冻结
            SysUserUptLogModel::getBefStatus,
            // 修改后状态 1 创建，注册；2：待完善信息 ；4：待补充调整信息  8：正常 16：账户冻结
            SysUserUptLogModel::getAftStatus,
            SysUserUptLogModel::getCreateTime
        );
    }


}
